/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package negocio;

import bancoDados.ConexaoDB;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author tecnico
 */
public class Tamanho {
    private int codigo;
    private String nome;
    private float preco;
    private boolean ativo = true;

    public boolean isAtivo() {
        return ativo;
    }

    public void setAtivo(boolean ativo) {
        this.ativo = ativo;
    }

    public int getCodigo() {
        return codigo;
    }

    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public float getPreco() {
        return preco;
    }

    public void setPreco(float preco) {
        this.preco = preco;
    }
    
    public void salvar(){
        String sql;
        
        sql = "INSERT INTO tamanho (nome, preco, ativo) ";
        sql = sql + "VALUES ('" + this.nome + "'," + this.preco + "," + this.ativo + ");";
        
        ConexaoDB con = new ConexaoDB();
        con.executaComando(sql);
    }
    
    public void alterar(){
        String sql;
        
        sql = "UPDATE tamanho SET nome='" + this.nome + "',";
        sql = sql + "preco=" + this.preco + ",";
        sql = sql + "ativo=" + this.ativo;
        sql = sql + " WHERE codigo=" + this.codigo + ";";
        
        ConexaoDB con = new ConexaoDB();
        con.executaComando(sql);
    }

    public ResultSet listar(){
        String sql;
        
        sql = "SELECT * FROM tamanho;";

        ConexaoDB con = new ConexaoDB();
        return con.executaQuery(sql);
    }
    
    public Tamanho buscar(String nome){
        try {  
            String sql;
            ResultSet rs;

            sql = "SELECT * FROM tamanho WHERE nome='" + nome + "';";

            ConexaoDB con = new ConexaoDB();
            rs =  con.executaQuery(sql);
            if (rs.first()){
                Tamanho tam = new Tamanho();
                
                tam.setCodigo(rs.getInt("codigo"));
                tam.setNome(rs.getString("nome"));
                tam.setPreco(rs.getFloat("preco"));
                tam.setAtivo(rs.getBoolean("ativo"));
                
                return tam;
            }else{
                return null;
            }
        } catch (Exception e) {  
            e.printStackTrace();  
            return null;  
        }  
    }

    public ArrayList<Tamanho> getAll() {         
        try {  
            ArrayList<Tamanho> listAll = null;  
            Tamanho tamanho = null;              
            ConexaoDB con = new ConexaoDB();
            ResultSet rs;

            rs = con.executaQuery("SELECT * FROM tamanho;");

            if (rs.next()) { //percorrendo os registros encontrados  
                listAll = new ArrayList<Tamanho>();  
                do {                      
                    tamanho = new Tamanho();//instanciando objeto                                       

            /*setando atributos de acordo com os seus tipos primitivos*/     
                    tamanho.setNome(rs.getString("nome"));  
                    tamanho.setPreco(rs.getFloat("preco"));  
                    tamanho.setAtivo(rs.getBoolean("ativo"));  
                    tamanho.setCodigo(rs.getInt("codigo"));  

                    listAll.add(tamanho); //add a lista de objetos encontrados e setados  
                } while (rs.next());  
            }  
            rs.close();  
            return listAll; //retornando a lista de registros  
        } catch (Exception e) {  
            e.printStackTrace();  
            return null;  
        }  
    }
    
    public boolean excluir(int codigo){
        String sql;
        sql = "DELETE from tamanho WHERE codigo=" + codigo +";";
        
        ConexaoDB con = new ConexaoDB();
        return con.executaComando(sql);
    }
    
    public boolean podeExcluir(int codigo) {         
        try {  
            ConexaoDB con = new ConexaoDB();
            ResultSet rs;

            rs = con.executaQuery("SELECT * FROM pizza where codigo_tamanho=" + codigo + ";");
            
            rs.last();
            int i = rs.getRow();

            if (i>0) {
                return false;
            }else{  
                return true;
            }
        } catch (Exception e) {  
            e.printStackTrace();  
            return false;  
        }  
    }
    
}

